#ifndef _CHANNEL_HPP_
#define _CHANNEL_HPP_
#include<iostream>
#include<string>
#include<unistd.h>
using namespace std;
// 先描述
class Channel
{
public:
   Channel(int wfd, pid_t who) : _wfd(wfd), _who(who)
   {
      _name = "Channel-" + to_string(wfd) + "-" + to_string(who);
   }
   string Name()
   {
      return _name;
   }
   ~Channel()
   {
   }

   void Close()
   {
      ::close(_wfd);
   }

   void Send(int cmd)
   {
      ::write(_wfd, &cmd, sizeof(cmd));
   }
   pid_t ID()
   {
      return _who;
   }

private:
   int _wfd;     // 需要向子进程写 所以保存写端
   string _name; // 管道名字
   pid_t _who;   // 给哪个子进程建立的管道
};

#endif